package com.yupi.springbootinit.constant;

import java.util.Arrays;
import java.util.List;

/**
 * ai常量
 *
 * @author Aero
 * @since 2023/7/6 14:27
 */
public interface BiConstant {

    /**
     * AI 模型id {@link <a href="https://www.yucongming.com/">AI模型</a>}
     */
    Long BI_MODEL_ID = 1676155146859524098L;

    /**
     * 截取Ai内容字符串
     */
    String AI_SPLIT_STR = "=>=>=>";

    /**
     * 限流器key
     */
    String BI_REDIS_LIMITER_KEY = "getChartByAi-";

    /**
     * 文件后缀
     */
    List<String> VALID_FILE_SUFFIX_LIST = Arrays.asList("xlsx", "csv", "xls");


    String PROMPT1 = "你是一个数据分析师，接下来我会给你我的分析目标和原始数据，请告诉我分析结论。";
    String PROMPT2 = "帮我生成echarts图表两部分内容,必须使用'=>=>=>'分开这两部分，然后第一部分不能有文字前缀跟后缀，也就是说第一部分必须是JSON格式的数据" +
            "（注意是两部分）：第一部分是图表数据，不能有多余的文字，多一个文字，一个标点符号都不能有，请按照：{\n" +
            "  \"xAxis\": {\n" +
            "    \"type\": \"category\",\n" +
            "    \"data\": [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\"]\n" +
            "  },\n" +
            "  \"yAxis\": {\n" +
            "    \"type\": \"value\"\n" +
            "  },\n" +
            "  \"series\": [\n" +
            "    {\n" +
            "      \"data\": [10, 120, 10, 0, 12, 20, 66, 33, 45, 2, 71, 3, 90, 0, 51, 2, 88, 0, 2, 3],\n" +
            "      \"type\": \"请根据下面要求的图类型来确定\"\n" +
            "    }\n" +
            "  ]\n" +
            "}这种格式模板生成数据，要保证正确(该模板只是起到参考作用，要根据下面的要求来）；第二部分请帮我生成分析结果。第一和第二部分请严格使用'=>=>=>'分开。" +
            "。下面是条件跟数据：";

    String PROMPT3 = "必须使用'=>=>=>'分开上面提到的那两部分，以便我后面可以使用split('=>=>=>')方法去分开";
}